package leetcode;

/**
 * 只出现一次数字
 * 算法 :
 *   使数组中的数字异或
 *   例如 1 2 1
 *     1 ^ 2 ^ 1 = 1 ^ 1 ^ 2 = 2
 *   两个相同的数字异或为 0
 *   0 ^ a = a
 */
public class _136 {

    public int singleNumber(int[] nums) {
        int res = nums[0];
        for (int i = 1; i < nums.length; i++) {
            res ^= nums[i];
        }
        return res;
    }
}
